iT邦幫忙

DAY 11
1

Windows Metro style Apps using HTML5系列 第 12

磚、徽章以及快顯通知 part 2

  • 分享至 

  • xImage
  •  

http://ithelp.ithome.com.tw/ironman5/player/seanamph/tech/1
上次講到 package.appxmanifest 可以設定一個在磚,其實我覺得磚不好聽,但英文就是 tile。

http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.notifications.tiletemplatetype.aspx
這網址列出了 tile 的範本有48種。

http://msdn.microsoft.com/en-us/library/windows/apps/hh465439.aspx
這個範例拿 TileSquarePeekImageAndText01 來測試一下

var notifications = Windows.UI.Notifications;
var template = notifications.TileTemplateType.tileWideImageAndText01;     
var tileXml = notifications.TileUpdateManager.getTemplateContent(template);

可以得到 tile樣板 的Xml 內容,選擇這種樣板後,在設定想要的內容,在推到磚塊牆那裏。

<tile>
    <visual>
        <binding template="TileWideImageAndText01">
            <image id="1" src=""/>
            <text id="1"></text>
        </binding>
    </visual>
</tile>

這時候可以控制這些文字。

  var tileXmlString = "<tile>" 
                              + "<visual>" 
                              + "<binding template='TileWideText03'>" 
                              + "<text id='1'>Hello World! My very own tile notification</text>" 
                              + "</binding>" 
                              + "<binding template='TileSquareText04'>" 
                              + "<text id='1'>Hello World! My very own tile notification</text>" 
                              + "</binding>" 
                              + "</visual>" 
                              + "</tile>"; 
 

var tileDOM = new Windows.Data.Xml.Dom.XmlDocument(); 
tileDOM.loadXml(tileXmlString); 

var tile = new Windows.UI.Notifications.TileNotification(tileDOM); 
Windows.UI.Notifications.TileUpdateManager.createTileUpdaterForApplication().update(tile); 

送出圖案

var tileXmlString = "<tile>" 
                              + "<visual>" 
                              + "<binding template='TileWideImageAndText01'>" 
                              + "<text id='1'>This tile notification uses ms-appx images</text>" 
                              + "<image id='1' src='ms-appx:///images/redWide.png'/>" 
                              + "</binding>" 
                              + "<binding template='TileSquareImage'>" 
                              + "<image id='1' src='ms-appx:///images/graySquare.png'/>" 
                              + "</binding>" 
                              + "</visual>" 
                              + "</tile>"; 
 
 var tileDOM = new Windows.Data.Xml.Dom.XmlDocument(); 
tileDOM.loadXml(tileXmlString); 
 
var tile = new Windows.UI.Notifications.TileNotification(tileDOM); 
Windows.UI.Notifications.TileUpdateManager.createTileUpdaterForApplication().update(tile); 

用badge功能在 tile 右下角上給一個數字

var badgeDOM = new Windows.Data.Xml.Dom.XmlDocument(); 
badgeDOM.loadXml("<badge value='33'/>"); 
var badge = new Windows.UI.Notifications.BadgeNotification(badgeDOM); 
Windows.UI.Notifications.BadgeUpdateManager.createBadgeUpdaterForApplication().update(badge); 
  


數字可以0~99 或 99+

在 tile 右下角上給一個badge標誌

var badgeDOM = new Windows.Data.Xml.Dom.XmlDocument(); 
badgeDOM.loadXml("<badge value='busy'/>"); 
var badge = new Windows.UI.Notifications.BadgeNotification(badgeDOM); 
Windows.UI.Notifications.BadgeUpdateManager.createBadgeUpdaterForApplication().update(badge); 


這裡有標誌列表
http://msdn.microsoft.com/en-us/library/windows/apps/hh761458.aspx

這個tile 真不好搞,在模擬器上應該是沒作用的,如果自己寫code又常發生怪事,而且最好每次都把這個debug 的 app移除掉再執行,移除方法就是在tile上按右鍵.....

參考網址
http://msdn.microsoft.com/zh-tw/library/windows/apps/hh761490
http://msdn.microsoft.com/zh-tw/library/windows/apps/hh465377


上一篇
磚、徽章以及快顯通知 part 1
下一篇
磚、徽章以及快顯通知 part 3
系列文
Windows Metro style Apps using HTML537
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言